home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / DriverFamilyMatching.idl < prev    next >
Text File  |  1996-05-01  |  5KB  |  154 lines

  1. /*
  2.      File:        DriverFamilyMatching.idl
  3.  
  4.      Contains:    xxx put contents here xxx
  5.  
  6.      Version:    Technology:    xxx put the technology version here xxx
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DRIVERFAMILYMATCHING_IDL__
  19. #define __DRIVERFAMILYMATCHING_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __NAMEREGISTRY_IDL__
  28. #include <NameRegistry.idl>
  29. #endif
  30. #ifndef __TEXTOBJECTS_IDL__
  31. #include <TextObjects.idl>
  32. #endif
  33. #ifndef __CODEFRAGMENTS_IDL__
  34. #include <CodeFragments.idl>
  35. #endif
  36.  
  37. #ifdef __SOMIDL__
  38.  
  39. /* Please refer to Devices.i for DriverDescriptor definition for Marconi */
  40. #if FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE
  41. /*
  42. #########################################################
  43.  Descriptor for Drivers and NDRVs
  44. #########################################################
  45. */
  46. /* Driver Typing Information Used to Match Drivers With Devices */
  47. typedef SOMLargeStruct            DriverType;                    /* Derived from a struct of 36 bytes in size */
  48.  
  49. typedef OpaquePtr                DriverTypePtr;                /* Substituted OpaquePtr for ``DriverType*'' */
  50.  
  51. /* OS Runtime Information Used to Setup and Maintain a Driver's Runtime Environment */
  52. typedef OptionBits                RuntimeOptions;
  53.  
  54. typedef SOMLargeStruct            DriverOSRuntime;            /* Derived from a struct of 68 bytes in size */
  55.  
  56. typedef OpaquePtr                DriverOSRuntimePtr;            /* Substituted OpaquePtr for ``DriverOSRuntime*'' */
  57.  
  58. /* OS Service Information Used To Declare What APIs a Driver Supports */
  59. typedef UInt32                    ServiceCount;
  60.  
  61. typedef SOMLargeStruct            DriverServiceInfo;            /* Derived from a struct of 12 bytes in size */
  62.  
  63. typedef OpaquePtr                DriverServiceInfoPtr;        /* Substituted OpaquePtr for ``DriverServiceInfo*'' */
  64.  
  65. typedef SOMLargeStruct            DriverOSService;            /* Derived from a struct of 16 bytes in size */
  66.  
  67. typedef OpaquePtr                DriverOSServicePtr;            /* Substituted OpaquePtr for ``DriverOSService*'' */
  68.  
  69. /* Categories */
  70. /* Ndrv ServiceCategory Types */
  71. typedef UInt32                    DriverDescVersion;
  72.  
  73. /*    The Driver Description */
  74. typedef SOMLargeStruct            DriverDescription;            /* Derived from a struct of 128 bytes in size */
  75.  
  76. typedef OpaquePtr                DriverDescriptionPtr;        /* Substituted OpaquePtr for ``DriverDescription*'' */
  77.  
  78. #endif
  79. #if FOR_SYSTEM8_PREEMPTIVE
  80. /*
  81. ################################################
  82.  Family Matching Data Structure
  83. ################################################
  84. */
  85. /*    The Family Type */
  86. typedef UInt32                    FamilyLevel;
  87.  
  88. /* Family Typing Information Used to Match Families With plug-ins and Devices */
  89. typedef SOMLargeStruct            FamilyType;                    /* Derived from a struct of 16 bytes in size */
  90.  
  91. typedef OpaquePtr                FamilyTypePtr;                /* Substituted OpaquePtr for ``FamilyType*'' */
  92.  
  93. typedef UInt32                    FamilyOSRunTimeOptions;
  94.  
  95. typedef SOMLargeStruct            FamilyOSRunTime;            /* Derived from a struct of 68 bytes in size */
  96.  
  97. typedef OpaquePtr                FamilyOSRunTimePtr;            /* Substituted OpaquePtr for ``FamilyOSRunTime*'' */
  98.  
  99. /*    The Family Description */
  100. typedef UInt32                    FamilyDescVersion;
  101.  
  102. typedef UInt32                    DependencyCount;
  103.  
  104. typedef SOMLargeStruct            MatchingAndDependencyInfo;    /* Derived from a struct of 36 bytes in size */
  105.  
  106. typedef OpaquePtr                MatchingAndDependencyInfoPtr; /* Substituted OpaquePtr for ``MatchingAndDependencyInfo*'' */
  107.  
  108. typedef SOMLargeStruct            FamilyMatchingAndDependency; /* Derived from a struct of 36 bytes in size */
  109.  
  110. typedef OpaquePtr                FamilyMatchingAndDependencyPtr; /* Substituted OpaquePtr for ``FamilyMatchingAndDependency*'' */
  111.  
  112. typedef SOMLargeStruct            FamilyDescription;            /* Derived from a struct of 128 bytes in size */
  113.  
  114. typedef OpaquePtr                FamilyDescriptionPtr;        /* Substituted OpaquePtr for ``FamilyDescription*'' */
  115.  
  116. /*
  117. ##############################################
  118.  Definition of "driver-ptr" property
  119. ##############################################
  120. */
  121. typedef SOMLargeStruct            DriverPtrProperty;            /* Derived from a struct of 8 bytes in size */
  122.  
  123. typedef OpaquePtr                DriverPtrPropertyPtr;        /* Substituted OpaquePtr for ``DriverPtrProperty*'' */
  124.  
  125. /*
  126. ##############################################
  127.  Status Definition for DFMReportInitStatus
  128. ##############################################
  129. */
  130. /*
  131. ##############################################
  132.  Declare the pluginLoadID
  133. ##############################################
  134. */
  135. typedef OpaquePtr                PluginLoadID;
  136.  
  137. /*
  138. ##############################################
  139.  Function Prototypes
  140. ##############################################
  141. */
  142. /*
  143. ##############################################
  144.  Well known properties in the Name Registry
  145. ##############################################
  146. */
  147. /* CPassThru */
  148. #endif
  149.  
  150. #endif /* __SOMIDL__ */
  151.  
  152. #endif /* __DRIVERFAMILYMATCHING_IDL__ */
  153.  
  154.